﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Chilis.Marketing.Data.Access;
using Chilis.Marketing.Business.Entity;

namespace Chilis.Marketing.Business.Logic
{
    public class BLPruebaPiloto
    {
       #region ATRIBUTOS

        private DAPruebaPiloto pruebaPilotoDA;

        #endregion

        #region CONSTRUCTOR

        public BLPruebaPiloto()
        {
            this.pruebaPilotoDA = new DAPruebaPiloto();
        }

        #endregion

        #region PROPIEDADES
        #endregion

        #region METODOS

        /// <summary>
        /// Método              : insertarPruebaPiloto
        /// Descripción         : Inserta Prueba Piloto en la BD
        /// Fecha Creacion      : 01/04/2012
        /// Creador             : TP2
        /// Ultimo en modificar : TP2
        /// Ultima modificacion : 01/04/2012
        /// </summary>
        /// <param name="campanhaBE">Entidad que representa la Campanha</param>
        /// <returns>Retorna el Id del Arte insertado</returns>
        public bool insertarPruebaPiloto(BECampanha campanhaBE)
        {
            bool respuesta = true;
            try
            {
                pruebaPilotoDA.Conexion();
                pruebaPilotoDA.AbrirConexion();
                pruebaPilotoDA.BeginTransaction();


                int IdPruebaPiloto = pruebaPilotoDA.insertarPruebaPiloto(campanhaBE, true);
                if (IdPruebaPiloto > 0)
                {
                    pruebaPilotoDA.CommitTransaction();
                }
            }
            catch (Exception ex)
            {
                pruebaPilotoDA.RollbackTransaction();

                throw ex;
            }
            finally
            {

                pruebaPilotoDA.CerrarConexion();
            }
            return respuesta;
        }

        /// <summary>
        /// Método              : modificarPruebaPiloto
        /// Descripción         : Modifica Prueba Piloto en la BD
        /// Fecha Creacion      : 01/04/2012
        /// Creador             : TP2
        /// Ultimo en modificar : TP2
        /// Ultima modificacion : 01/04/2012
        /// </summary>
        /// <param name="campanhaBE">Entidad que representa el Arte</param>
        /// <returns>Retorna un booleano que indica si se actualizo el registro</returns>
        public bool modificarPruebaPiloto(BECampanha campanhaBE)
        {
            bool respuesta = true;
            try
            {
                pruebaPilotoDA.Conexion();
                pruebaPilotoDA.AbrirConexion();
                pruebaPilotoDA.BeginTransaction();


                respuesta = pruebaPilotoDA.modificarPruebaPiloto(campanhaBE, true);
                if (respuesta)
                {
                    pruebaPilotoDA.CommitTransaction();
                }
            }
            catch (Exception ex)
            {
                pruebaPilotoDA.RollbackTransaction();
                throw ex;
            }
            finally
            {

                pruebaPilotoDA.CerrarConexion();
            }
            return respuesta;
        }

        /// <summary>
        /// Método              : eliminarPruebaPiloto
        /// Descripción         : Elimina Prueba Piloto en la BD
        /// Fecha Creacion      : 01/04/2012
        /// Creador             : TP2
        /// Ultimo en modificar : TP2
        /// Ultima modificacion : 01/04/2012
        /// </summary>
        /// <param name="pruebaPilotoBE">Entidad que representa la Prueba Piloto</param>
        /// <returns>Retorna un booleano que indica si se actualizo el registro</returns>
        public bool eliminarPruebaPiloto(BEPruebaPiloto pruebaPilotoBE)
        {
            bool respuesta = true;
            try
            {
                pruebaPilotoDA.Conexion();
                pruebaPilotoDA.AbrirConexion();
                pruebaPilotoDA.BeginTransaction();


                respuesta = pruebaPilotoDA.eliminarPruebaPiloto(pruebaPilotoBE, true);
                if (respuesta)
                {
                    pruebaPilotoDA.CommitTransaction();
                }
            }
            catch (Exception ex)
            {
                pruebaPilotoDA.RollbackTransaction();
                throw ex;
            }
            finally
            {

                pruebaPilotoDA.CerrarConexion();
            }
            return respuesta;
        }

        /// <summary>
        /// Método              : aprobarPruebaPiloto
        /// Descripción         : Aprueba Prueba Piloto en la BD
        /// Fecha Creacion      : 01/04/2012
        /// Creador             : TP2
        /// Ultimo en modificar : TP2
        /// Ultima modificacion : 01/04/2012
        /// </summary>
        /// <param name="pruebaPilotoBE">Entidad que representa la Prueba Piloto</param>
        /// <returns>Retorna un booleano que indica si se actualizo el registro</returns>
        public bool aprobarPruebaPiloto(BEPruebaPiloto pruebaPilotoBE)
        {
            bool respuesta = true;
            try
            {
                pruebaPilotoDA.Conexion();
                pruebaPilotoDA.AbrirConexion();
                pruebaPilotoDA.BeginTransaction();


                respuesta = pruebaPilotoDA.aprobarPruebaPiloto(pruebaPilotoBE, true);
                if (respuesta)
                {
                    pruebaPilotoDA.CommitTransaction();
                }
            }
            catch (Exception ex)
            {
                pruebaPilotoDA.RollbackTransaction();
                throw ex;
            }
            finally
            {

                pruebaPilotoDA.CerrarConexion();
            }
            return respuesta;
        }

        /// <summary>
        /// Método              : obtenerPruebaPilotoPorId
        /// Descripción         : Obtiene la Entidad Prueba Piloto
        /// Fecha Creacion      : 01/04/2012
        /// Creador             : TP2
        /// Ultimo en modificar : TP2
        /// Ultima modificacion : 01/04/2012
        /// </summary>
        /// <param name="idPruebaPiloto">Id Prueba Piloto</param>
        /// <returns>Retorna el Objeto que representa la Entidad Prueba Piloto</returns>
        public BEPruebaPiloto obtenerPruebaPilotoPorId(int idPruebaPiloto)
        {
            return pruebaPilotoDA.obtenerPruebaPilotoPorId(idPruebaPiloto);
        }

        #endregion
    }
}
